import tensorflow as tf
import numpy as np

# 从列表中创建张量
tf.convert_to_tensor([1, 1.2, 3])
# 从数组中创建张量
tf.convert_to_tensor(np.array([[1, 2], [4, 5]]))
# tf.constant() 和tf.convert_to_tensor 都能自动的将Numpy中的数组
# 或者Python中列表数据类型转化为Tensor类型，使用其一就可以了


# 创建全0或者全1的矩阵
a = tf.zeros([2, 3])
c = tf.zeros_like(a)
b = tf.ones([4, 6])
d = tf.ones_like(b)
# 创建全部为某个特定值的矩阵
specia_value_tensor = tf.fill([3, 2], 12)
print(specia_value_tensor)

# 创建已知分布的张量
tf.random.normal([2, 3])  # 标准正态分布 均值为0，标准差为1
tf.random.normal([4, 5], mean=2, stddev=3)  # 创建均值为2，标准差为3 的正态分布

# 创建在某个均匀分布的区间的采样的tensor
uniform_tensor = tf.random.uniform([3, 2], 4, 8)
print('uniform', uniform_tensor)
# 如果要均匀采样整形类型的数据，需要制定最大值和数据类型为tf.int*
uniform_tensor_int = tf.random.uniform([3, 2], 4, 8, dtype=tf.int32)
print('uniform', uniform_tensor_int)
